1
Bài học 3 Giới thiệu: Giải quyết Phân loại Phi tuyến tính
EvoClass-AI002Lecture 3
00:00

Chúng ta đang vượt qua giới hạn của các mô hình tuyến tính, những mô hình gặp khó khăn khi phân loại dữ liệu không thể tách biệt bằng một đường thẳng. Hôm nay, chúng ta áp dụng quy trình PyTorch để xây dựng một Mạng nơ-ron sâu (DNN) có khả năng học được các ranh giới quyết định phức tạp, phi tuyến tính rất quan trọng cho các nhiệm vụ phân loại trong thế giới thực.

1. Hình dung Sự Cần thiết của Dữ liệu Phi tuyến tính

Bước đầu tiên của chúng ta là tạo ra một bộ dữ liệu tổng hợp thách thức, chẳng hạn như phân bố hai vòng trăng, để minh họa trực quan lý do tại sao các mô hình tuyến tính đơn giản lại thất bại. Cấu hình này buộc chúng ta phải sử dụng các kiến trúc sâu để xấp xỉ đường cong phức tạp cần thiết nhằm tách biệt các lớp.

Tính chất Dữ liệu

  • Cấu trúc Dữ liệu: Đặc trưng dữ liệu tổng hợp (ví dụ: $1000 \times 2$ cho $1000$ mẫu với 2 đặc trưng).
  • Loại Đầu ra: Một giá trị xác suất duy nhất, thường là torch.float32, đại diện cho sự tham gia vào lớp.
  • Mục tiêu: Để tạo ra một ranh giới quyết định cong thông qua tính toán theo tầng.
Sức mạnh của Các Hàm Kích hoạt Phi tuyến tính
Nguyên lý cốt lõi của DNN là việc giới thiệu tính phi tuyến tính ở các lớp ẩn thông qua các hàm như ReLU. Không có chúng, việc chồng các lớp sẽ chỉ dẫn đến một mô hình tuyến tính lớn, bất kể độ sâu.
data_setup.py
TERMINALbash — classification-env
> Ready. Click "Run" to execute.
>
TENSOR INSPECTOR Live

Run code to inspect active tensors
Question 1
What is the primary purpose of the ReLU activation function in a hidden layer?
Introduce non-linearity so deep architectures can model curves
Speed up matrix multiplication
Ensure the output remains between 0 and 1
Normalize the layer output to a mean of zero
Question 2
Which activation function is required in the output layer for a binary classification task?
Sigmoid
Softmax
ReLU
Question 3
Which loss function corresponds directly to a binary classification problem using a Sigmoid output?
Binary Cross Entropy Loss (BCE)
Mean Squared Error (MSE)
Cross Entropy Loss
Challenge: Designing the Core Architecture
Integrating architectural components for non-linear learning.
You must build a nn.Module for the two-moons task. Input features: 2. Output classes: 1 (probability).
Step 1
Describe the flow of computation for a single hidden layer in this DNN.
Solution:
Input $\to$ Linear Layer (Weight Matrix) $\to$ ReLU Activation $\to$ Output to Next Layer.
Step 2
What must the final layer size be if the input shape is $(N, 2)$ and we use BCE loss?
Solution:
The output layer must have size $(N, 1)$ to produce a single probability score per sample, matching the label shape.